package com.headfirst.singleton.version1;

/**
 * 饱汉式单例模式写法一:
 * 优点：可以做到对象的延迟加载
 * 缺点：多线程并发访问不安全（不推荐使用）
 */
public class Singleton_1 {

    /**
     * 使用一个静态变量来记录Singleton_1类的唯一实例
     */
    private static Singleton_1 uniqueInstance = null;

    /**
     * 私有化构造器，表示这个构造器只有在Singleton_1类内才可以被调用
     */
    private Singleton_1(){}

    /**
     * 在多线程环境下，存在安全问题
     * @return Singleton_1实例对象
     */
    public static Singleton_1 getInstance(){
        if(uniqueInstance == null){
            uniqueInstance = new Singleton_1();
        }
        return uniqueInstance;
    }
}
